feat: Editor export options picker (FPS/Resolution) #236
+563
−305
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant changes to the video export functionality in the project, including the addition of custom resolution and frame rate options. The most important changes involve updates to the export process, the user interface for selecting export options, and modifications to the project configuration to support these new features.
Export Functionality Enhancements:
output_width
andoutput_height
fields to theTimelineConfiguration
struct to support custom video resolutions. (apps/desktop/src-tauri/src/recording.rs
,apps/desktop/src/utils/tauri.ts
,crates/project/src/configuration.rs
, [1] [2] [3]render_video_to_channel
function to use the custom frame rate specified in the project configuration. (crates/rendering/src/lib.rs
, [1] [2] [3] [4]User Interface Updates:
Header
component to allow users to select resolution and frame rate options before exporting a video. (apps/desktop/src/routes/editor/Header.tsx
, [1] [2] [3]ResolutionOption
andFPS_OPTIONS
constants to populate the dropdown menus for resolution and frame rate selection. (apps/desktop/src/routes/editor/Header.tsx
, apps/desktop/src/routes/editor/Header.tsxR10-R84)Code Refactoring:
ExportButton
component and integrated its functionality directly into theHeader
component, including the new export settings. (apps/desktop/src/routes/editor/Header.tsx
, apps/desktop/src/routes/editor/Header.tsxL238-R442)ShareButton
component to include the selected resolution and frame rate in the project configuration when sharing a video. (apps/desktop/src/routes/editor/Header.tsx
, [1] [2]